草庐IT

PHP 指针行为异常

全部标签

子域上的 javascript pushState 抛出异常

在我的js文件中:window.history.pushState('','',slug);我知道pushState方法的安全限制:ThenewURLmustbeofthesameoriginasthecurrentURL;otherwise,pushState()willthrowanexception.但是,在我的网站中,我使用了一个域:www.mydomain.com,其中pushState工作正常。但是当我在我的子域subdomain.mydomain.com上调用该方法时,它会抛出一个奇怪的异常:UncaughtSecurityError:Failedtoexecute'pu

javascript - 从数字文字访问 "getter"的属性时,IE9 中出现奇怪的 `Number.prototype` 行为

Object.defineProperty(Number.prototype,'foo',{get:function(){returnthis}})console.log(10.5.foo)console.log(10..foo)//0inIE9!console.log(10.0.foo)//0inIE9!console.log(10.01.foo)console.log((10).foo)//0inIE9!varx=10console.log(x.foo)//0inIE9!谁能解释这种行为和/或建议解决方法?jsfiddle.net/yr7hQ/ 最佳答案

Javascript 奇怪的随机行为

我正在使用JavaScript的Math.random()函数将项目分布到桶中。之后,我在Canvas中显示水桶。我希望这些项目能够均匀分布,但是(即使在多个浏览器中多次重试之后),似乎分布在左侧更细粒度(接近于零)并且向右侧变得更加均匀(接近于1).见下图.是我做错了,还是JavaScript的随机函数很糟糕?下面是用于生成此图像的代码:window.onload=function(){varcanvas=document.getElementById('canvas');varctx=canvas.getContext('2d');varwidth=canvas.width;var

javascript - 为什么如果 ('k' 在 42);对于 42 中的 ('k' 抛出异常);不会,在 javascript 中?

从语言设计的Angular来看,为什么if('k'in42);抛出TypeError异常for('k'in42);不是吗?我已阅读ECMAScript规范中的以下部分:11.8.7Theinoperator12.6.4Thefor-inStatement有人可以解释这种不一致的原因吗?为什么if(...)中的表达式'k'in42不能计算为false? 最佳答案 重新阅读in部分。IfType(rval)isnotObject,throwaTypeErrorexception.42不是一个对象,它是一个数字typeof42//'num

正确主动关闭websocket,异常关闭处理

CloseEvent.code开发大型项目时需要正确主动关闭websocket,同时根据异常关闭正确的执行重连0-999暂未使用关闭状态码简称原因1000正常关闭连接成功地完成了创建它的目的。1001离开端点消失了,可能是因为服务器故障,也可能是因为浏览器离开了打开连接的页面。1002协议错误由于协议错误,端点正在终止连接。1003不支持的数据由于端点接收到的数据类型无法接受,连接被终止。(例如,纯文本端点接收二进制数据1004暂时保留保留。将来可能会定义一个含义。1005NoStatusRcvdReserved.Indicatesthatnostatuscodewasprovidedeven

javascript - onchange + validation + enter key 奇怪的行为

我有一个带有日期输入字段的表单。应验证日期:只允许从今天开始的日期+最多3年。如果日期有效,将显示一个模式,否则将出现带有错误消息的警报。假设某人将日期更改为26.10.2099:如果离开输入字段(通过用鼠标单击其他地方),一切都会按预期进行:出现错误信息日期自动改回没有模态显示但是如果按下Enter而不是离开输入框,会发生以下情况:没有错误信息显示日期自动改回模态出现我的想法是,将日期改回其初始值会导致再次触发onchange事件,然后日期有效并显示模态。但第一种情况并非如此。在第二种情况下,事件有时会触发两次,但并非总是如此。你可以在这里试一试:https://jsfiddle.n

javascript - AngularJS 中的 promise 是否捕获每个异常/错误?

我在工作中继承了一个代码库,其中包含以下模式的十几个示例:varpromise=null;try{promise=backendService.getResults(input);}catch(exception){console.err(exception);}if(promise!==null){promise.then(function(response){//dostuff}).catch(function(error){console.err(error);});}其中backendService是一个Angular服务,它又通过$http调用REST服务。所以这是我的问题:

javascript - Firefox 什么时候改变了它的 Function.prototype.toString() 行为?

如今,当您调用函数的.toString()时,浏览器会返回函数的原始声明。但我记得Firefox曾经返回一个优化版本,例如。functionfn(){return2+3;}fn.toString()//Usedtogive:functionfn(){return5;}在哪些浏览器上使用此功能是安全的? 最佳答案 来自MDN:SinceGecko17.0(Firefox17/Thunderbird17/SeaMonkey2.14),Function.prototype.toString()hasbeenimplementedbysav

javascript - JSON3 中的 Facebook xd_arbiter.php 错误

我们最近开始从facebook的xd_arbiter.php文件中收到错误,我不记得我们所做的任何更改,所以我开始认为问题出在facebook上。此错误发生在firefox14.0.1中,(chrome、safari、opera(最新版本))似乎工作正常。该项目是一个facebook连接站点,我们使用的是jsapi。我们基本上使用与facebook提供的代码相同的代码。http://developers.facebook.com/docs/guides/web/#login只有当用户在进入我们的网站之前登录到facebook时才会发生错误。在all.js文件异步加载后,我们得到这个错误

javascript - 我可以结束 JavaScript 函数的安静死亡吗? (setTimeout 会吞下异常吗?)

我正在处理的一些JavaScript函数时不时会安静地退出,没有任何迹象表明发生了异常情况。这让我发疯。肯定有一种方法可以打开某种“我是开发人员”的标志,这样像这样的事情就会抛出一个巨大的“出了点问题!”消息?示例函数:window.setTimeout(function(){alert('Entered!');foo;alert('Exited!');},300);在我的Firefox6上,这只显示第一个警报。错误日志保持完全空白。我能否从Firefox中获得更有用的行为? 最佳答案 我怀疑问题可能出在这个问题上:https://